<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>
  <script>
    // 链式编程
    // 使用promise完成链式编程，在控制台依次打印小明、小红、小黄
    // 一般使用Promise的时候，创建Promise的代码太过冗余，为了节省代码，此时需要封装函数
    // let p1 = new Promise((resolve, reject) => {
    //   resolve('小明')
    // })
    // let p2 = new Promise((resolve, reject) => {
    //   resolve('小红')
    // })
    // let p3 = new Promise((resolve, reject) => {
    //   resolve('小黄')
    // })

    // 封装 其实就是复用
    function axios (txt,time) {
      return new Promise((resolve, reject) => {
        setTimeout(()=>{
          resolve(txt)
        },time)
      })
    }
    axios('小明',2000).then(res=>{
      console.log(res);
      return axios('小红',1000)
    }).then(res=>{
      console.log(res);
      return axios('小黄',3000)
    }).then(res=>{
      console.log(res);
    })

    console.log(aaa);



    // axios({}).then()

    // 第一种
    // p1.then(res => {
    //   console.log(res);
    // })

    // p2.then(res => {
    //   console.log(res);
    // })

    // p3.then(res => {
    //   console.log(res);
    // })


  </script>
</body>

</html>